<html>

<head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <meta name="description" content="TingGe Blog Agile agile JavaScript NodeJS">
  <meta name="author" content="TingGe<505253293@163.com>">
  <title>听歌实验室</title>
  <link type="image/x-icon" rel="shortcut icon" href="https://avatars3.githubusercontent.com/u/4074517?v=3&s=40" />
  <link rel="stylesheet" type="text/css" href="/lib/bootstrap/dist/css/bootstrap.min.css" media="screen">
  <link href="https://fonts.googleapis.com/css?family=Lato:300,400,700,300italic,400italic,700italic" rel="stylesheet" type="text/css">
  <link href="/css/landing-page.css" rel="stylesheet">
  <link href="/css/screenshots.css" rel="stylesheet">
  <style media="screen">
    #main {
      padding-top: 55px;
    }
  </style>
  <script type="text/javascript" src="/lib/jquery/dist/jquery.min.js"></script>
  <script type="text/javascript" src="/lib/html2canvas/dist/html2canvas.min.js"></script>
  <!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
  <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
  <!--[if lt IE 9]>
        <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
        <script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
    <![endif]-->
</head>

<body>
  <!-- Navigation -->
  <nav class="navbar navbar-default navbar-fixed-top topnav" role="navigation">
    <div class="container topnav">
      <!-- Brand and toggle get grouped for better mobile display -->
      <div class="navbar-header">
        <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
          <span class="sr-only">Toggle navigation</span>
          <span class="icon-bar"></span>
          <span class="icon-bar"></span>
          <span class="icon-bar"></span>
        </button>
        <a class="navbar-brand topnav" href="/">
          <i class="fa fa-flask icon-3x" aria-hidden="true"></i> 听歌实验室
        </a>
      </div>
      <!-- Collect the nav links, forms, and other content for toggling -->
      <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
        <ul class="nav navbar-nav navbar-right">
          <li>
            <a href="/html/js.html">JavaScript/NodeJS</a>
          </li>
          <li>
            <a href="/index.html#agile">敏捷/项目管理(Agile/PMP)</a>
          </li>
          <li>
            <a href="/html/cloud-bi.html">云商业智能(Cloud BI)</a>
          </li>
          <li>
            <a href="/html/iot.html">物联网(WoT/IoT)</a>
          </li>
          <li>
            <a href="/html/me.html">关于我</a>
          </li>
        </ul>
      </div>
      <!-- /.navbar-collapse -->
    </div>
    <!-- /.container -->
  </nav>
  <div id="main" class="container">
    <div class="row">
      <div id="article" class="col-md-9 content-container">
        <h1 id="jetson-tk1-">Jetson TK1的一些事项</h1>
<p>[TOC]</p>
<blockquote>
<p>自林夕整理总结</p>
</blockquote>
<p>系统一开始预装的精简版的 Ubuntu 14.04，按照普通 linux 的使用方法使用就好了。好多东西可以参考 elinux.org 上的 <a href="http://elinux.org/Jetson_TK1">Jetson TK1</a> 页面的资料。</p>
<h2 id="0-">0. 前期的一些处理</h2>
<p>由于是精简版的 Ubuntu , <code>libglx.so</code> 和官方库的不一样, 不能直接用官方库覆盖. 于是需要保护这个库，可以运行 <code>sudo apt-mark hold xserver-xorg-core</code> 来实现. 之后更新的时候也没有什么问题了。</p>
<p>据说上述问题只有在 L4T R19.x 才会出现，如果板子上的系统大于这个版本，似乎可以不用管。</p>
<h2 id="1-">1. 安装显卡驱动</h2>
<p><code>HOME</code> 目录下有一个安装显卡驱动的文件夹, 用 sudo 权限运行里面的安装脚本就好了. 之后重启就可以使用图形界面了. 似乎板子上的显卡驱动是 L4T R19.2 的, 有需要的话可以从官网下载一个 L4T R21.2 的驱动, 这样就可以运行 CUDA 6.5.</p>
<h2 id="2-cuda">2. 安装CUDA</h2>
<p>可以参考 elinux.org 的 <a href="http://elinux.org/Jetson/Installing_CUDA">Installing CUDA</a> 页面, 选择CUDA版本的时候需要和安装的显卡驱动匹配. 大概就是 CUDA 6.0 和 R19.x ，CUDA 6.5 和 RT21.x 吧。</p>
<p>官网直接下载比较慢，可以在本地PC机上下载完之后, 用U盘拷过去。</p>
<p>运行<code>nvcc -V</code>查看是否安装成功。</p>
<h2 id="3-cuda-">3. 运行CUDA的例程</h2>
<p>安装完 CUDA 之后，运行 <code>cuda-install-samples-6.5.sh /home/ubuntu</code> 来安装 CUDA 例程.</p>
<p>然后进去 Sample 的目录, 运行 <code>make</code> , 等个很久之后所有例程就都编译好了。</p>
<p>由于编译速度非常慢, 建议挑需要运行的例程进行 make。 一开始运行例程的时候要用 sudo 权限, 否则可能不能捕捉到显卡驱动（应该会出现错误305）。</p>
<h2 id="4-opencv">4. 安装OpenCV</h2>
<p>按照官方给的 <a href="http://developer.download.nvidia.com/embedded/OpenCV/L4T_21.1/README.txt">README</a> 一步一步来之后, 发现会有一些包无法找到, 目前还没有解决, 不知道要怎么搞。</p>
<h2 id="5-">5. 搭建交叉编译环境</h2>
<p>由于直接在板子上编译非常慢, 通常做法就是在本地机子搭建一个交叉编译环境. 在2和3部分中也有交叉编译需要的 CUDA 和 OpenCV 安装的教程. </p>
<p>同时官方似乎给了一个 <a href="https://developer.nvidia.com/jetpack-tk1">JetPack TK1</a> ，可以按照上面的步骤一步一步走。还没有尝试过，也不知道行不行。</p>
<h2 id="-">参考</h2>
<ul>
<li><a href="http://elinux.org/Jetson/Cameras#MIPI_CSI-2_sensors_known_to_be_working">MIPI CSI-2 sensors known to be working</a></li>
</ul>

      </div>
      <div class="col-md-3" style="padding-top:20px;">
        <iframe src="http://githubbadge.appspot.com/tingge?a=0" style="border: 0;height: 142px;width: 200px;overflow: hidden;" frameBorder="0"></iframe>
      </div>
    </div>
  </div>
  <a id="html2canvas" title="截图下载-快照">&nbsp;</a>
  <script src="/lib/bootstrap/dist/js/bootstrap.min.js"></script>
  <script src="/js/article.js" charset="utf-8"></script>
  <!-- justice.js https://github.com/okor/justice  -->
  <script src="/lib/justice.min.js" charset="utf-8"></script>
  <!-- instantclick -->
  <script src="/lib/instantclick.js" charset="utf-8"></script>
  <script type="text/javascript" data-no-instant>
    Justice.init();
  </script>
</body>

</html>
